#ifndef GLOBALS_H_
#define GLOBALS_H_

#include <pthread.h>
#include <Judy.h>
#include "datatypes.h"
//#include "../normalization/normalized_datatypes.h"

// number of atomic concepts
int atomic_concept_count;

// hash map from concept names to concept ids
// Pvoid_t concept_names_ids;

// atomic concepts
// Concept** atomic_concepts;
extern Pvoid_t atomic_concepts; //  = (Pvoid_t) NULL;

// number of atomic roles
int atomic_role_count;

// hash map from role names to role ids
// Pvoid_t role_names_ids;

// atomic roles
// Role** atomic_roles;
extern Pvoid_t atomic_roles; //  = (Pvoid_t) NULL;


/////////////

// the original TBox
TBox tbox;

// the normalized TBox
// NormalizedTBox normalized_tbox;

// number of subclass axioms
int subclass_ax_count;

// number of equivalence class axioms
int eqclass_ax_count;

// number of subrole axioms
int subrole_ax_count;

// free the original kb
void free_original_kb();

///////////////////////////
// number of cores;
int core_count;

// thread ids
pthread_t* thread_ids;

// argument vectors of the threads 
// int** thread_argvs;

#endif /*GLOBALS_H_*/
